package com.btpn.custody.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@org.hibernate.annotations.Entity(dynamicInsert=true, dynamicUpdate=true)
@Table(name = "M_CIF")
@NamedQueries({
				@NamedQuery(name  = "CIF.getByCIF",
							query = "FROM CIF c WHERE c.cifSid = :cif")	
})
public class CIF implements Serializable {

	/*=============================================== C O N S T A N T =========================================*/
	private static final long serialVersionUID = 931988524027466407L;
	
	public static final String NQ__GET_BY_CIF 	= "CIF.getByCIF";
	
	/*=============================================== M E M B E R =============================================*/
// BASIC
	@Id 					
	@Column(name = "CIF_SID", columnDefinition="VARCHAR(6)")		// as PK
	private String cifSid;
	
	@Column(name = "__CREATED_DATE")
	private Date createdDate = new Date();

	@Column(name = "__CREATED_BY")
	private String createdBy;

	@Column(name = "__LAST_UPDATED_DATE")		// as LAST_MAINTAINED_DATE
	private Date lastUpdatedDate = new Date();

	@Column(name = "__LAST_UPDATED_BY")
	private String lastUpdatedBy;

// RELATION
	@OneToOne(mappedBy = "CIF")	// CIF is master
	private MasterData masterData;
	
// TEXT	
	@Column(name = "AKTE_TERAKHIR_TANGGAL1", columnDefinition="VARCHAR(35)")
	private String AKTE_TERAKHIR_TANGGAL1;
	
	@Column(name = "AKTE_TERAKHIR_TANGGAL2", columnDefinition="VARCHAR(35)")
	private String AKTE_TERAKHIR_TANGGAL2;
	
	@Column(name = "ALAMAT_AHLI_WARIS1", columnDefinition="VARCHAR(30)")
	private String ALAMAT_AHLI_WARIS1;
	
	@Column(name = "ALAMAT_AHLI_WARIS2", columnDefinition="VARCHAR(30)")
	private String ALAMAT_AHLI_WARIS2;
	
	@Column(name = "CUST_FULL_NAME", columnDefinition="VARCHAR(50)")
	private String CUST_FULL_NAME;
	
	@Column(name = "ID_NUMBER", columnDefinition="VARCHAR(40)")
	private String ID_NUMBER;
	
	@Column(name = "INFO_AKTE_PENDIRIAN", columnDefinition="VARCHAR(35)")
	private String INFO_AKTE_PENDIRIAN;
	
	@Column(name = "INFO_AKTE_PENDIRIAN2", columnDefinition="VARCHAR(35)")
	private String INFO_AKTE_PENDIRIAN2;

	@Column(name = "JABATAN", columnDefinition="VARCHAR(20)")
	private String JABATAN;
	
	@Column(name = "JENIS_USAHA", columnDefinition="VARCHAR(35)")
	private String JENIS_USAHA;

	@Column(name = "KOTA_AHLI_WARIS", columnDefinition="VARCHAR(15)")
	private String KOTA_AHLI_WARIS;
	
	@Column(name = "MOTHER_NAME", columnDefinition="VARCHAR(35)")
	private String MOTHER_NAME;
	
	@Column(name = "NAMA_AHLI_WARIS", columnDefinition="VARCHAR(30)")
	private String NAMA_AHLI_WARIS;
	
	@Column(name = "NPWP", columnDefinition="VARCHAR(20)")
	private String NPWP;
	
	@Column(name = "PLACE_OF_BIRTH", columnDefinition="VARCHAR(35)")
	private String PLACE_OF_BIRTH;
	
	@Column(name = "PROFESSION", columnDefinition="VARCHAR(35)")
	private String PROFESSION;
	
	@Column(name = "REK_BANK_LAIN1", columnDefinition="VARCHAR(20)")
	private String REK_BANK_LAIN1;
	
	@Column(name = "REK_BANK_LAIN2", columnDefinition="VARCHAR(20)")
	private String REK_BANK_LAIN2;
	
	@Column(name = "REK_BANK_LAIN3", columnDefinition="VARCHAR(20)")
	private String REK_BANK_LAIN3;
	
	@Column(name = "SIUP", columnDefinition="VARCHAR(35)")
	private String SIUP;
	
	@Column(name = "TANDA_DAFTAR_PERUSAHAAN", columnDefinition="VARCHAR(35)")
	private String TANDA_DAFTAR_PERUSAHAAN;
	
// CODE
	
	@Column(name = "ADDITIONAL_INCOME", columnDefinition="VARCHAR(1)")		// 
	private String ADDITIONAL_INCOME;

	@Column(name = "BRANCH", columnDefinition="VARCHAR(4)")
	private String BRANCH;
	
	@Column(name = "CURRENT_INCOME", columnDefinition="VARCHAR(1)")			// 
	private String CURRENT_INCOME;
	
	@Column(name = "CUSTOMER_TYPE", columnDefinition="VARCHAR(2)")			//
	private String CUSTOMER_TYPE;
	
	@Column(name = "EDUCATION", columnDefinition="VARCHAR(1)")				// 
	private String EDUCATION;
	
	@Column(name = "GENDER", columnDefinition="VARCHAR(1)")					// L/P
	private String GENDER;
	
	@Column(name = "ID_TYPE", columnDefinition="VARCHAR(1)")				// Kode Identitas
	private String ID_TYPE;

	@Column(name = "HR_BUSINESS", columnDefinition="VARCHAR(3)")
	private String HR_BUSINESS;
	
	@Column(name = "HR_COUNTRIES", columnDefinition="VARCHAR(3)")
	private String HR_COUNTRIES;

	@Column(name = "HR_CUSTOMER", columnDefinition="VARCHAR(3)")
	private String HR_CUSTOMER;
	
	@Column(name = "HR_PRODUCT", columnDefinition="VARCHAR(3)")
	private String HR_PRODUCT;
	
	@Column(name = "HUB_AHLI_WARIS", columnDefinition="VARCHAR(1)")			//
	private String HUB_AHLI_WARIS;
	
	@Column(name = "HUB_DENGAN_BANK", columnDefinition="VARCHAR(1)")		// 
	private String HUB_DENGAN_BANK;

	@Column(name = "LAP_KEUANGAN", columnDefinition="VARCHAR(1)")			// 
	private String LAP_KEUANGAN;
	
	@Column(name = "LBU_GOL_NASABAH", columnDefinition="VARCHAR(4)")		// 
	private String LBU_GOL_NASABAH;
	
	@Column(name = "MARITAL_STATUS", columnDefinition="VARCHAR(1)")			//  
	private String MARITAL_STATUS;
	
	@Column(name = "PARENT_COUNTRY", columnDefinition="VARCHAR(2)")
	private String PARENT_COUNTRY;
	
	@Column(name = "PURPOSE", columnDefinition="VARCHAR(1)")				// 
	private String PURPOSE;
	
	@Column(name = "RELIGION", columnDefinition="VARCHAR(1)")				// 
	private String RELIGION;
	
	@Column(name = "SOURCE_INCOME", columnDefinition="VARCHAR(1)")			// 
	private String SOURCE_INCOME;

// DATE		
	@Column(name = "BIRTH_DATE")
	private Date BIRTH_DATE;
	
	@Column(name = "ID_EXPIRED")
	private Date ID_EXPIRED;

	// LAST_MAINTAINED_DATE = __LAST_UPDATED_DATE
	
	@Column(name = "OPEN_DATE")		// account
	private Date OPEN_DATE;
	
	@Column(name = "TGL_AKHIR_TDP")
	private Date TGL_AKHIR_TDP;

// NUMERIC
	
	@Column(name = "EST_TRX_NORMAL_CR", columnDefinition="NUMERIC(18)")
	private String EST_TRX_NORMAL_CR;
	
	@Column(name = "EST_TRX_NORMAL_DB", columnDefinition="NUMERIC(18)")
	private String EST_TRX_NORMAL_DB;
	
	@Column(name = "FREQ_TRX_CR", columnDefinition="NUMERIC(18)")
	private String FREQ_TRX_CR;
	
	@Column(name = "FREQ_TRX_DB", columnDefinition="NUMERIC(18)")
	private String FREQ_TRX_DB;
		
	@Column(name = "SALDO_NORMAL", columnDefinition="NUMERIC(15)")
	private String SALDO_NORMAL;
	
	/*=============================================== G E T T E R   &   S E T T E R ===========================*/
	public String getCifSid() {
		return cifSid;
	}

	public void setCifSid(String cifSid) {
		this.cifSid = cifSid;
	}

	public Date getCreatedDate() {
		return createdDate;
	}

	public void setCreatedDate(Date createdDate) {
		this.createdDate = createdDate;
	}

	public String getCreatedBy() {
		return createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getLastUpdatedDate() {
		return lastUpdatedDate;
	}

	public void setLastUpdatedDate(Date lastUpdatedDate) {
		this.lastUpdatedDate = lastUpdatedDate;
	}

	public String getLastUpdatedBy() {
		return lastUpdatedBy;
	}

	public void setLastUpdatedBy(String lastUpdatedBy) {
		this.lastUpdatedBy = lastUpdatedBy;
	}

	public String getAKTE_TERAKHIR_TANGGAL1() {
		return AKTE_TERAKHIR_TANGGAL1;
	}

	public void setAKTE_TERAKHIR_TANGGAL1(String aKTE_TERAKHIR_TANGGAL1) {
		AKTE_TERAKHIR_TANGGAL1 = aKTE_TERAKHIR_TANGGAL1;
	}

	public String getAKTE_TERAKHIR_TANGGAL2() {
		return AKTE_TERAKHIR_TANGGAL2;
	}

	public void setAKTE_TERAKHIR_TANGGAL2(String aKTE_TERAKHIR_TANGGAL2) {
		AKTE_TERAKHIR_TANGGAL2 = aKTE_TERAKHIR_TANGGAL2;
	}

	public String getALAMAT_AHLI_WARIS1() {
		return ALAMAT_AHLI_WARIS1;
	}

	public void setALAMAT_AHLI_WARIS1(String aLAMAT_AHLI_WARIS1) {
		ALAMAT_AHLI_WARIS1 = aLAMAT_AHLI_WARIS1;
	}

	public String getALAMAT_AHLI_WARIS2() {
		return ALAMAT_AHLI_WARIS2;
	}

	public void setALAMAT_AHLI_WARIS2(String aLAMAT_AHLI_WARIS2) {
		ALAMAT_AHLI_WARIS2 = aLAMAT_AHLI_WARIS2;
	}

	public String getCUST_FULL_NAME() {
		return CUST_FULL_NAME;
	}

	public void setCUST_FULL_NAME(String cUST_FULL_NAME) {
		CUST_FULL_NAME = cUST_FULL_NAME;
	}

	public String getID_NUMBER() {
		return ID_NUMBER;
	}

	public void setID_NUMBER(String iD_NUMBER) {
		ID_NUMBER = iD_NUMBER;
	}

	public String getINFO_AKTE_PENDIRIAN() {
		return INFO_AKTE_PENDIRIAN;
	}

	public void setINFO_AKTE_PENDIRIAN(String iNFO_AKTE_PENDIRIAN) {
		INFO_AKTE_PENDIRIAN = iNFO_AKTE_PENDIRIAN;
	}

	public String getINFO_AKTE_PENDIRIAN2() {
		return INFO_AKTE_PENDIRIAN2;
	}

	public void setINFO_AKTE_PENDIRIAN2(String iNFO_AKTE_PENDIRIAN2) {
		INFO_AKTE_PENDIRIAN2 = iNFO_AKTE_PENDIRIAN2;
	}

	public String getJABATAN() {
		return JABATAN;
	}

	public void setJABATAN(String jABATAN) {
		JABATAN = jABATAN;
	}

	public String getJENIS_USAHA() {
		return JENIS_USAHA;
	}

	public void setJENIS_USAHA(String jENIS_USAHA) {
		JENIS_USAHA = jENIS_USAHA;
	}

	public String getKOTA_AHLI_WARIS() {
		return KOTA_AHLI_WARIS;
	}

	public void setKOTA_AHLI_WARIS(String kOTA_AHLI_WARIS) {
		KOTA_AHLI_WARIS = kOTA_AHLI_WARIS;
	}

	public String getMOTHER_NAME() {
		return MOTHER_NAME;
	}

	public void setMOTHER_NAME(String mOTHER_NAME) {
		MOTHER_NAME = mOTHER_NAME;
	}

	public String getNAMA_AHLI_WARIS() {
		return NAMA_AHLI_WARIS;
	}

	public void setNAMA_AHLI_WARIS(String nAMA_AHLI_WARIS) {
		NAMA_AHLI_WARIS = nAMA_AHLI_WARIS;
	}

	public String getNPWP() {
		return NPWP;
	}

	public void setNPWP(String nPWP) {
		NPWP = nPWP;
	}

	public String getPLACE_OF_BIRTH() {
		return PLACE_OF_BIRTH;
	}

	public void setPLACE_OF_BIRTH(String pLACE_OF_BIRTH) {
		PLACE_OF_BIRTH = pLACE_OF_BIRTH;
	}

	public String getPROFESSION() {
		return PROFESSION;
	}

	public void setPROFESSION(String pROFESSION) {
		PROFESSION = pROFESSION;
	}

	public String getREK_BANK_LAIN1() {
		return REK_BANK_LAIN1;
	}

	public void setREK_BANK_LAIN1(String rEK_BANK_LAIN1) {
		REK_BANK_LAIN1 = rEK_BANK_LAIN1;
	}

	public String getREK_BANK_LAIN2() {
		return REK_BANK_LAIN2;
	}

	public void setREK_BANK_LAIN2(String rEK_BANK_LAIN2) {
		REK_BANK_LAIN2 = rEK_BANK_LAIN2;
	}

	public String getREK_BANK_LAIN3() {
		return REK_BANK_LAIN3;
	}

	public void setREK_BANK_LAIN3(String rEK_BANK_LAIN3) {
		REK_BANK_LAIN3 = rEK_BANK_LAIN3;
	}

	public String getSIUP() {
		return SIUP;
	}

	public void setSIUP(String sIUP) {
		SIUP = sIUP;
	}

	public String getTANDA_DAFTAR_PERUSAHAAN() {
		return TANDA_DAFTAR_PERUSAHAAN;
	}

	public void setTANDA_DAFTAR_PERUSAHAAN(String tANDA_DAFTAR_PERUSAHAAN) {
		TANDA_DAFTAR_PERUSAHAAN = tANDA_DAFTAR_PERUSAHAAN;
	}

	public String getADDITIONAL_INCOME() {
		return ADDITIONAL_INCOME;
	}

	public void setADDITIONAL_INCOME(String aDDITIONAL_INCOME) {
		ADDITIONAL_INCOME = aDDITIONAL_INCOME;
	}

	public String getBRANCH() {
		return BRANCH;
	}

	public void setBRANCH(String bRANCH) {
		BRANCH = bRANCH;
	}

	public String getCURRENT_INCOME() {
		return CURRENT_INCOME;
	}

	public void setCURRENT_INCOME(String cURRENT_INCOME) {
		CURRENT_INCOME = cURRENT_INCOME;
	}

	public String getCUSTOMER_TYPE() {
		return CUSTOMER_TYPE;
	}

	public void setCUSTOMER_TYPE(String cUSTOMER_TYPE) {
		CUSTOMER_TYPE = cUSTOMER_TYPE;
	}

	public String getEDUCATION() {
		return EDUCATION;
	}

	public void setEDUCATION(String eDUCATION) {
		EDUCATION = eDUCATION;
	}

	public String getGENDER() {
		return GENDER;
	}

	public void setGENDER(String gENDER) {
		GENDER = gENDER;
	}

	public String getID_TYPE() {
		return ID_TYPE;
	}

	public void setID_TYPE(String iD_TYPE) {
		ID_TYPE = iD_TYPE;
	}

	public String getHR_BUSINESS() {
		return HR_BUSINESS;
	}

	public void setHR_BUSINESS(String hR_BUSINESS) {
		HR_BUSINESS = hR_BUSINESS;
	}

	public String getHR_COUNTRIES() {
		return HR_COUNTRIES;
	}

	public void setHR_COUNTRIES(String hR_COUNTRIES) {
		HR_COUNTRIES = hR_COUNTRIES;
	}

	public String getHR_CUSTOMER() {
		return HR_CUSTOMER;
	}

	public void setHR_CUSTOMER(String hR_CUSTOMER) {
		HR_CUSTOMER = hR_CUSTOMER;
	}

	public String getHR_PRODUCT() {
		return HR_PRODUCT;
	}

	public void setHR_PRODUCT(String hR_PRODUCT) {
		HR_PRODUCT = hR_PRODUCT;
	}

	public String getHUB_AHLI_WARIS() {
		return HUB_AHLI_WARIS;
	}

	public void setHUB_AHLI_WARIS(String hUB_AHLI_WARIS) {
		HUB_AHLI_WARIS = hUB_AHLI_WARIS;
	}

	public String getHUB_DENGAN_BANK() {
		return HUB_DENGAN_BANK;
	}

	public void setHUB_DENGAN_BANK(String hUB_DENGAN_BANK) {
		HUB_DENGAN_BANK = hUB_DENGAN_BANK;
	}

	public String getLAP_KEUANGAN() {
		return LAP_KEUANGAN;
	}

	public void setLAP_KEUANGAN(String lAP_KEUANGAN) {
		LAP_KEUANGAN = lAP_KEUANGAN;
	}

	public String getLBU_GOL_NASABAH() {
		return LBU_GOL_NASABAH;
	}

	public void setLBU_GOL_NASABAH(String lBU_GOL_NASABAH) {
		LBU_GOL_NASABAH = lBU_GOL_NASABAH;
	}

	public String getMARITAL_STATUS() {
		return MARITAL_STATUS;
	}

	public void setMARITAL_STATUS(String mARITAL_STATUS) {
		MARITAL_STATUS = mARITAL_STATUS;
	}

	public String getPARENT_COUNTRY() {
		return PARENT_COUNTRY;
	}

	public void setPARENT_COUNTRY(String pARENT_COUNTRY) {
		PARENT_COUNTRY = pARENT_COUNTRY;
	}

	public String getPURPOSE() {
		return PURPOSE;
	}

	public void setPURPOSE(String pURPOSE) {
		PURPOSE = pURPOSE;
	}

	public String getRELIGION() {
		return RELIGION;
	}

	public void setRELIGION(String rELIGION) {
		RELIGION = rELIGION;
	}

	public String getSOURCE_INCOME() {
		return SOURCE_INCOME;
	}

	public void setSOURCE_INCOME(String sOURCE_INCOME) {
		SOURCE_INCOME = sOURCE_INCOME;
	}

	public Date getBIRTH_DATE() {
		return BIRTH_DATE;
	}

	public void setBIRTH_DATE(Date bIRTH_DATE) {
		BIRTH_DATE = bIRTH_DATE;
	}

	public Date getID_EXPIRED() {
		return ID_EXPIRED;
	}

	public void setID_EXPIRED(Date iD_EXPIRED) {
		ID_EXPIRED = iD_EXPIRED;
	}

	public Date getOPEN_DATE() {
		return OPEN_DATE;
	}

	public void setOPEN_DATE(Date oPEN_DATE) {
		OPEN_DATE = oPEN_DATE;
	}

	public Date getTGL_AKHIR_TDP() {
		return TGL_AKHIR_TDP;
	}

	public void setTGL_AKHIR_TDP(Date tGL_AKHIR_TDP) {
		TGL_AKHIR_TDP = tGL_AKHIR_TDP;
	}

	public String getEST_TRX_NORMAL_CR() {
		return EST_TRX_NORMAL_CR;
	}

	public void setEST_TRX_NORMAL_CR(String eST_TRX_NORMAL_CR) {
		EST_TRX_NORMAL_CR = eST_TRX_NORMAL_CR;
	}

	public String getEST_TRX_NORMAL_DB() {
		return EST_TRX_NORMAL_DB;
	}

	public void setEST_TRX_NORMAL_DB(String eST_TRX_NORMAL_DB) {
		EST_TRX_NORMAL_DB = eST_TRX_NORMAL_DB;
	}

	public String getFREQ_TRX_CR() {
		return FREQ_TRX_CR;
	}

	public void setFREQ_TRX_CR(String fREQ_TRX_CR) {
		FREQ_TRX_CR = fREQ_TRX_CR;
	}

	public String getFREQ_TRX_DB() {
		return FREQ_TRX_DB;
	}

	public void setFREQ_TRX_DB(String fREQ_TRX_DB) {
		FREQ_TRX_DB = fREQ_TRX_DB;
	}

	public String getSALDO_NORMAL() {
		return SALDO_NORMAL;
	}

	public void setSALDO_NORMAL(String sALDO_NORMAL) {
		SALDO_NORMAL = sALDO_NORMAL;
	}

	public MasterData getMasterData() {
		return masterData;
	}

	public void setMasterData(MasterData masterData) {
		this.masterData = masterData;
	}
}
